<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <OutputType>Library</OutputType>
    <AssemblyName>ILCompiler.Compiler</AssemblyName>
    <TargetFramework>$(NetCoreAppToolCurrent)</TargetFramework>
    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
    <NoWarn>$(NoWarn);CA1866;CA1867</NoWarn>
    <EnableDefaultCompileItems>false</EnableDefaultCompileItems>
    <Platforms>x64;x86</Platforms>
    <PlatformTarget>AnyCPU</PlatformTarget>
    <AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>

    <!-- We're binplacing these into an existing publish layout so that F5 build in VS updates
         the same bits tests expect to see in artifacts/ilc. That way we never need to wonder which
         binaries are up to date and which are stale. -->
    <GenerateDependencyFile>false</GenerateDependencyFile>
    <Configurations>Debug;Release;Checked</Configurations>

    <NoWarn Condition="'$(DotNetBuildSourceOnly)' == 'true'">$(NoWarn);CS8524</NoWarn>
    <NoWarn>$(NoWarn);CA1859</NoWarn>
  </PropertyGroup>

  <ItemGroup>
    <ProjectReference Include="..\ILCompiler.DependencyAnalysisFramework\ILCompiler.DependencyAnalysisFramework.csproj" />
    <ProjectReference Include="..\ILCompiler.MetadataTransform\ILCompiler.MetadataTransform.csproj" />
    <ProjectReference Include="..\ILCompiler.TypeSystem\ILCompiler.TypeSystem.csproj" />

    <PackageReference Condition="'$(DotNetBuildSourceOnly)' != 'true'" Include="StaticCs" Version="$(StaticCsVersion)">
      <PrivateAssets>all</PrivateAssets>
      <ExcludeAssets>contentfiles</ExcludeAssets> <!-- We include our own copy of the ClosedAttribute to work in source build -->
    </PackageReference>
  </ItemGroup>

  <ItemGroup>
    <Compile Include="..\..\Common\Compiler\Win32Resources\ResourceData.cs" Link="Compiler\Win32Resources\ResourceData.cs" />
    <Compile Include="..\..\Common\Compiler\Win32Resources\ResourceData.Reader.cs" Link="Compiler\Win32Resources\ResourceData.Reader.cs" />
    <Compile Include="..\..\Common\Compiler\Win32Resources\ResourceData.ResourcesDataModel.cs" Link="Compiler\Win32Resources\ResourceData.ResourcesDataModel.cs" />
    <Compile Include="..\..\Common\Compiler\Win32Resources\ResourceData.UpdateResourceDataModel.cs" Link="Compiler\Win32Resources\ResourceData.UpdateResourceDataModel.cs" />
    <Compile Include="..\..\Common\Compiler\Win32Resources\ResourceData.Win32Structs.cs" Link="Compiler\Win32Resources\ResourceData.Win32Structs.cs" />
    <Compile Include="..\..\Common\TypeSystem\IL\DelegateInfo.cs">
      <Link>IL\DelegateInfo.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\TypeSystem\IL\Stubs\DelegateThunks.Sorting.cs">
      <Link>IL\Stubs\DelegateThunks.Sorting.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\TypeSystem\IL\Stubs\DynamicInvokeMethodThunk.cs">
      <Link>IL\Stubs\DynamicInvokeMethodThunk.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\TypeSystem\IL\Stubs\DynamicInvokeMethodThunk.Mangling.cs">
      <Link>IL\Stubs\DynamicInvokeMethodThunk.Mangling.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\TypeSystem\IL\Stubs\DynamicInvokeMethodThunk.Sorting.cs">
      <Link>IL\Stubs\DynamicInvokeMethodThunk.Sorting.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\TypeSystem\IL\Stubs\EnumThunks.cs">
      <Link>IL\Stubs\EnumThunks.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\TypeSystem\IL\Stubs\EnumThunks.Sorting.cs">
      <Link>IL\Stubs\EnumThunks.Sorting.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\TypeSystem\IL\Stubs\PInvokeLazyFixupField.cs">
      <Link>IL\Stubs\PInvokeLazyFixupField.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\TypeSystem\IL\Stubs\PInvokeLazyFixupField.Sorting.cs">
      <Link>IL\Stubs\PInvokeLazyFixupField.Sorting.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\TypeSystem\IL\Stubs\StructMarshallingThunk.Sorting.cs">
      <Link>IL\Stubs\StructMarshallingThunk.Sorting.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\TypeSystem\IL\Stubs\ValueTypeGetFieldHelperMethodOverride.cs">
      <Link>IL\Stubs\ValueTypeGetFieldHelperMethodOverride.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\TypeSystem\IL\Stubs\ValueTypeGetFieldHelperMethodOverride.Sorting.cs">
      <Link>IL\Stubs\ValueTypeGetFieldHelperMethodOverride.Sorting.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\TypeSystem\Interop\IL\InlineArrayType.Sorting.cs">
      <Link>TypeSystem\Interop\IL\InlineArrayType.Sorting.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\TypeSystem\Interop\IL\MarshalHelpers.cs">
      <Link>Interop\IL\MarshalHelpers.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\TypeSystem\Interop\IL\MarshalHelpers.Aot.cs">
      <Link>Interop\IL\MarshalHelpers.Aot.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\TypeSystem\Interop\IL\MarshalUtils.cs">
      <Link>Interop\IL\MarshalUtils.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\TypeSystem\Interop\IL\Marshaller.cs">
      <Link>Interop\IL\Marshaller.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\TypeSystem\Interop\IL\Marshaller.Aot.cs">
      <Link>Interop\IL\Marshaller.Aot.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\TypeSystem\Interop\IL\MarshallerKind.cs">
      <Link>Interop\IL\MarshallerKind.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\TypeSystem\Interop\IL\NativeStructType.Sorting.cs">
      <Link>TypeSystem\Interop\IL\NativeStructType.Sorting.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\TypeSystem\Interop\IL\PInvokeILEmitterConfiguration.cs">
      <Link>Interop\IL\PInvokeILEmitterConfiguration.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\TypeSystem\IL\Stubs\PInvokeILEmitter.cs">
      <Link>IL\Stubs\PInvokeILEmitter.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\TypeSystem\IL\Stubs\PInvokeILCodeStreams.cs">
      <Link>IL\Stubs\PInvokeILCodeStreams.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\TypeSystem\IL\Stubs\DebuggerSteppingHelpers.cs">
      <Link>IL\Stubs\DebuggerSteppingHelpers.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\TypeSystem\IL\Stubs\CalliMarshallingMethodThunk.cs">
      <Link>IL\Stubs\CalliMarshallingMethodThunk.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\TypeSystem\IL\Stubs\CalliMarshallingMethodThunk.Mangling.cs">
      <Link>IL\Stubs\CalliMarshallingMethodThunk.Mangling.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\TypeSystem\IL\Stubs\CalliMarshallingMethodThunk.Sorting.cs">
      <Link>IL\Stubs\CalliMarshallingMethodThunk.Sorting.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\TypeSystem\IL\Stubs\DelegateMarshallingMethodThunk.cs">
      <Link>IL\Stubs\DelegateMarshallingMethodThunk.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\TypeSystem\IL\Stubs\DelegateMarshallingMethodThunk.Mangling.cs">
      <Link>IL\Stubs\DelegateMarshallingMethodThunk.Mangling.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\TypeSystem\IL\Stubs\DelegateMarshallingMethodThunk.Sorting.cs">
      <Link>IL\Stubs\DelegateMarshallingMethodThunk.Sorting.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\TypeSystem\IL\Stubs\ForwardDelegateCreationThunk.cs">
      <Link>IL\Stubs\ForwardDelegateCreationThunk.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\TypeSystem\IL\Stubs\ForwardDelegateCreationThunk.Mangling.cs">
      <Link>IL\Stubs\ForwardDelegateCreationThunk.Mangling.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\TypeSystem\IL\Stubs\ForwardDelegateCreationThunk.Sorting.cs">
      <Link>IL\Stubs\ForwardDelegateCreationThunk.Sorting.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\TypeSystem\IL\Stubs\DelegateThunks.cs">
      <Link>IL\Stubs\DelegateThunks.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\TypeSystem\IL\Stubs\StructMarshallingThunk.cs">
      <Link>IL\Stubs\StructMarshallingThunk.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\TypeSystem\IL\Stubs\StructMarshallingThunk.Mangling.cs">
      <Link>IL\Stubs\StructMarshallingThunk.Mangling.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\TypeSystem\Interop\IL\NativeStructType.cs">
      <Link>TypeSystem\Interop\IL\NativeStructType.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\TypeSystem\Interop\IL\NativeStructType.Mangling.cs">
      <Link>TypeSystem\Interop\IL\NativeStructType.Mangling.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\TypeSystem\Interop\IL\PInvokeDelegateWrapper.cs">
      <Link>TypeSystem\Interop\IL\PInvokeDelegateWrapper.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\TypeSystem\Interop\IL\PInvokeDelegateWrapper.Mangling.cs">
      <Link>TypeSystem\Interop\IL\PInvokeDelegateWrapper.Mangling.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\TypeSystem\Interop\IL\PInvokeDelegateWrapper.Sorting.cs">
      <Link>TypeSystem\Interop\IL\PInvokeDelegateWrapper.Sorting.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\TypeSystem\Interop\IL\PInvokeDelegateWrapperConstructor.cs">
      <Link>TypeSystem\Interop\IL\PInvokeDelegateWrapperConstructor.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\TypeSystem\Interop\IL\PInvokeDelegateWrapperConstructor.Sorting.cs">
      <Link>TypeSystem\Interop\IL\PInvokeDelegateWrapperConstructor.Sorting.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\TypeSystem\Interop\IL\InlineArrayType.cs">
      <Link>TypeSystem\Interop\IL\InlineArrayType.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\TypeSystem\Interop\InteropTypes.cs">
      <Link>TypeSystem\Interop\InteropTypes.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\TypeSystem\Interop\InteropStateManager.cs">
      <Link>TypeSystem\Interop\InteropStateManager.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\TypeSystem\Interop\UnmanagedCallingConventions.cs">
      <Link>TypeSystem\Interop\UnmanagedCallingConventions.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\TypeSystem\CodeGen\INonEmittableType.cs">
      <Link>TypeSystem\CodeGen\INonEmittableType.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\TypeSystem\CodeGen\NativeStructType.CodeGen.cs">
      <Link>TypeSystem\CodeGen\NativeStructType.CodeGen.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\TypeSystem\MetadataEmitter\TypeSystemMetadataEmitter.cs">
      <Link>TypeSystem\MetadataEmitter\TypeSystemMetadataEmitter.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\Internal\Runtime\DehydratedData.cs">
      <Link>Common\DehydratedData.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\Internal\Runtime\GCDescEncoder.cs">
      <Link>Common\GCDescEncoder.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\Internal\Runtime\ReadyToRunConstants.cs">
      <Link>Common\ReadyToRunConstants.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\Internal\Runtime\InteropConstants.cs">
      <Link>Common\InteropConstants.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\Internal\Runtime\ITargetBinaryWriter.cs">
      <Link>Common\ITargetBinaryWriter.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\Internal\Runtime\MappingTableFlags.cs">
      <Link>Common\MappingTableFlags.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\Internal\Runtime\MetadataBlob.cs">
      <Link>Common\MetadataBlob.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\Internal\Runtime\RuntimeConstants.cs">
      <Link>Common\RuntimeConstants.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\Internal\Runtime\StackTraceData.cs">
      <Link>Common\StackTraceData.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\Internal\Runtime\UniversalGenericParameterLayout.cs">
      <Link>Common\UniversalGenericParameterLayout.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\Internal\Text\Utf8String.cs">
      <Link>Common\Utf8String.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\Internal\Text\Utf8StringBuilder.cs">
      <Link>Common\Utf8StringBuilder.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\TypeSystem\IL\NativeAotILProvider.cs">
      <Link>IL\NativeAotILProvider.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\TypeSystem\IL\ILImporter.cs">
      <Link>IL\ILImporter.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\TypeSystem\IL\ILReader.cs">
      <Link>IL\ILReader.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\TypeSystem\IL\StackValueKind.cs">
      <Link>IL\StackValueKind.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\TypeSystem\IL\Stubs\AssemblyGetExecutingAssemblyMethodThunk.cs">
      <Link>IL\Stubs\AssemblyGetExecutingAssemblyMethodThunk.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\TypeSystem\IL\Stubs\AssemblyGetExecutingAssemblyMethodThunk.Sorting.cs">
      <Link>IL\Stubs\AssemblyGetExecutingAssemblyMethodThunk.Sorting.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\TypeSystem\IL\Stubs\ComparerIntrinsics.cs">
      <Link>IL\Stubs\ComparerIntrinsics.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\TypeSystem\IL\Stubs\GetCanonTypeIntrinsic.cs">
      <Link>IL\Stubs\GetCanonTypeIntrinsic.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\TypeSystem\IL\Stubs\InterlockedIntrinsics.cs" Link="IL\Stubs\InterlockedIntrinsics.cs" />
    <Compile Include="..\..\Common\TypeSystem\IL\Stubs\MethodBaseGetCurrentMethodThunk.cs">
      <Link>IL\Stubs\MethodBaseGetCurrentMethodThunk.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\TypeSystem\IL\Stubs\MethodBaseGetCurrentMethodThunk.Mangling.cs">
      <Link>IL\Stubs\MethodBaseGetCurrentMethodThunk.Mangling.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\TypeSystem\IL\Stubs\DelegateMethodILEmitter.cs">
      <Link>IL\Stubs\DelegateMethodILEmitter.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\TypeSystem\IL\Stubs\MethodBaseGetCurrentMethodThunk.Sorting.cs">
      <Link>IL\Stubs\MethodBaseGetCurrentMethodThunk.Sorting.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\TypeSystem\IL\Stubs\RuntimeHelpersIntrinsics.cs" Link="IL\Stubs\RuntimeHelpersIntrinsics.cs" />
    <Compile Include="..\..\Common\TypeSystem\IL\Stubs\StreamIntrinsics.cs" Link="IL\Stubs\StreamIntrinsics.cs" />
    <Compile Include="..\..\Common\TypeSystem\IL\Stubs\TypeGetTypeMethodThunk.cs">
      <Link>IL\Stubs\TypeGetTypeMethodThunk.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\TypeSystem\IL\Stubs\TypeGetTypeMethodThunk.Sorting.cs">
      <Link>IL\Stubs\TypeGetTypeMethodThunk.Sorting.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\TypeSystem\IL\Stubs\TypeSystemThrowingILEmitter.cs">
      <Link>IL\Stubs\TypeSystemThrowingILEmitter.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\Compiler\DisplayNameHelpers.cs" Link="Compiler\DisplayNameHelpers.cs" />
    <Compile Include="..\..\Common\Compiler\CodeGenerationFailedException.cs" Link="Compiler\CodeGenerationFailedException.cs" />
    <Compile Include="..\..\Common\Compiler\CompilationBuilder.cs" Link="Compiler\CompilationBuilder.cs" />
    <Compile Include="..\..\Common\Compiler\CompilationModuleGroup.cs" Link="Compiler\CompilationModuleGroup.cs" />
    <Compile Include="..\..\Common\Compiler\CompilerTypeSystemContext.cs" Link="Compiler\CompilerTypeSystemContext.cs" />
    <Compile Include="..\..\Common\Compiler\CompilerTypeSystemContext.Validation.cs" Link="Compiler\CompilerTypeSystemContext.Validation.cs" />
    <Compile Include="..\..\Common\Compiler\NativeAotNameMangler.cs" Link="Compiler\NativeAotNameMangler.cs" />
    <Compile Include="..\..\Common\Compiler\Dataflow\DynamicallyAccessedMembersBinder.cs" Link="Compiler\Dataflow\DynamicallyAccessedMembersBinder.cs" />
    <Compile Include="..\..\Common\Compiler\Dataflow\EcmaExtensions.cs" Link="Compiler\Dataflow\EcmaExtensions.cs" />
    <Compile Include="..\..\Common\Compiler\Dataflow\GenericParameterProxy.cs" Link="Compiler\Dataflow\GenericParameterProxy.cs" />
    <Compile Include="..\..\Common\Compiler\Dataflow\MethodProxy.cs" Link="Compiler\Dataflow\MethodProxy.cs" />
    <Compile Include="..\..\Common\Compiler\Dataflow\ParameterProxy.cs" Link="Compiler\Dataflow\ParameterProxy.cs" />
    <Compile Include="..\..\Common\Compiler\Dataflow\TypeProxy.cs" Link="Compiler\Dataflow\TypeProxy.cs" />
    <Compile Include="..\..\Common\Compiler\Dataflow\TypeExtensions.cs" Link="Compiler\Dataflow\TypeExtensions.cs" />
    <Compile Include="..\..\Common\Compiler\DependencyAnalysis\AssemblyStubNode.cs" Link="Compiler\DependencyAnalysis\AssemblyStubNode.cs" />
    <Compile Include="..\..\Common\Compiler\DependencyAnalysis\CompilerComparer.cs" Link="Compiler\DependencyAnalysis\CompilerComparer.cs" />
    <Compile Include="..\..\Common\Compiler\DependencyAnalysis\EmbeddedDataContainerNode.cs" Link="Compiler\DependencyAnalysis\EmbeddedDataContainerNode.cs" />
    <Compile Include="..\..\Common\Compiler\DependencyAnalysis\IMethodBodyNode.cs" Link="Compiler\DependencyAnalysis\IMethodBodyNode.cs" />
    <Compile Include="..\..\Common\Compiler\DependencyAnalysis\IMethodNode.cs" Link="Compiler\DependencyAnalysis\IMethodNode.cs" />
    <Compile Include="..\..\Common\Compiler\DependencyAnalysis\INodeWithCodeInfo.cs" Link="Compiler\DependencyAnalysis\INodeWithCodeInfo.cs" />
    <Compile Include="..\..\Common\Compiler\DependencyAnalysis\INodeWithRuntimeDeterminedDependencies.cs" Link="Compiler\DependencyAnalysis\INodeWithRuntimeDeterminedDependencies.cs" />
    <Compile Include="..\..\Common\Compiler\DependencyAnalysis\ISortableNode.cs" Link="Compiler\DependencyAnalysis\ISortableNode.cs" />
    <Compile Include="..\..\Common\Compiler\DependencyAnalysis\ISymbolNode.cs" Link="Compiler\DependencyAnalysis\ISymbolNode.cs" />
    <Compile Include="..\..\Common\Compiler\DependencyAnalysis\ObjectDataBuilder.cs" Link="Compiler\DependencyAnalysis\ObjectDataBuilder.cs" />
    <Compile Include="..\..\Common\Compiler\DependencyAnalysis\ObjectNode.cs" Link="Compiler\DependencyAnalysis\ObjectNode.cs" />
    <Compile Include="..\..\Common\Compiler\DependencyAnalysis\ObjectNodeSection.cs" Link="Compiler\DependencyAnalysis\ObjectNodeSection.cs" />
    <Compile Include="..\..\Common\Compiler\DependencyAnalysis\Relocation.cs" Link="Compiler\DependencyAnalysis\Relocation.cs" />
    <Compile Include="..\..\Common\Compiler\DependencyAnalysis\MethodReadOnlyDataNode.cs" Link="Compiler\DependencyAnalysis\MethodReadOnlyDataNode.cs" />
    <Compile Include="..\..\Common\Compiler\DependencyAnalysis\ShadowConcreteMethodNode.cs" Link="Compiler\DependencyAnalysis\ShadowConcreteMethodNode.cs" />
    <Compile Include="..\..\Common\Compiler\DependencyAnalysis\SortableDependencyNode.cs" Link="Compiler\DependencyAnalysis\SortableDependencyNode.cs" />
    <Compile Include="..\..\Common\Compiler\DependencyAnalysis\Target_ARM64\AddrMode.cs" Link="Compiler\DependencyAnalysis\Target_ARM64\AddrMode.cs" />
    <Compile Include="..\..\Common\Compiler\DependencyAnalysis\Target_ARM64\ARM64Emitter.cs" Link="Compiler\DependencyAnalysis\Target_ARM64\ARM64Emitter.cs" />
    <Compile Include="..\..\Common\Compiler\DependencyAnalysis\Target_ARM64\Register.cs" Link="Compiler\DependencyAnalysis\Target_ARM64\Register.cs" />
    <Compile Include="..\..\Common\Compiler\DependencyAnalysis\Target_ARM64\TargetRegisterMap.cs" Link="Compiler\DependencyAnalysis\Target_ARM64\TargetRegisterMap.cs" />
    <Compile Include="..\..\Common\Compiler\DependencyAnalysis\Target_ARM\ARMEmitter.cs" Link="Compiler\DependencyAnalysis\Target_ARM\ARMEmitter.cs" />
    <Compile Include="..\..\Common\Compiler\DependencyAnalysis\Target_ARM\Register.cs" Link="Compiler\DependencyAnalysis\Target_ARM\Register.cs" />
    <Compile Include="..\..\Common\Compiler\DependencyAnalysis\Target_ARM\TargetRegisterMap.cs" Link="Compiler\DependencyAnalysis\Target_ARM\TargetRegisterMap.cs" />
    <Compile Include="..\..\Common\Compiler\DependencyAnalysis\Target_LoongArch64\AddrMode.cs" Link="Compiler\DependencyAnalysis\Target_LoongArch64\AddrMode.cs" />
    <Compile Include="..\..\Common\Compiler\DependencyAnalysis\Target_LoongArch64\LoongArch64Emitter.cs" Link="Compiler\DependencyAnalysis\Target_LoongArch64\LoongArch64Emitter.cs" />
    <Compile Include="..\..\Common\Compiler\DependencyAnalysis\Target_LoongArch64\Register.cs" Link="Compiler\DependencyAnalysis\Target_LoongArch64\Register.cs" />
    <Compile Include="..\..\Common\Compiler\DependencyAnalysis\Target_LoongArch64\TargetRegisterMap.cs" Link="Compiler\DependencyAnalysis\Target_LoongArch64\TargetRegisterMap.cs" />
    <Compile Include="..\..\Common\Compiler\DependencyAnalysis\Target_RiscV64\AddrMode.cs" Link="Compiler\DependencyAnalysis\Target_RiscV64\AddrMode.cs" />
    <Compile Include="..\..\Common\Compiler\DependencyAnalysis\Target_RiscV64\RiscV64Emitter.cs" Link="Compiler\DependencyAnalysis\Target_RiscV64\RiscV64Emitter.cs" />
    <Compile Include="..\..\Common\Compiler\DependencyAnalysis\Target_RiscV64\Register.cs" Link="Compiler\DependencyAnalysis\Target_RiscV64\Register.cs" />
    <Compile Include="..\..\Common\Compiler\DependencyAnalysis\Target_RiscV64\TargetRegisterMap.cs" Link="Compiler\DependencyAnalysis\Target_RiscV64\TargetRegisterMap.cs" />
    <Compile Include="..\..\Common\Compiler\DependencyAnalysis\Target_X64\AddrMode.cs" Link="Compiler\DependencyAnalysis\Target_X64\AddrMode.cs" />
    <Compile Include="..\..\Common\Compiler\DependencyAnalysis\Target_X64\Register.cs" Link="Compiler\DependencyAnalysis\Target_X64\Register.cs" />
    <Compile Include="..\..\Common\Compiler\DependencyAnalysis\Target_X64\TargetRegisterMap.cs" Link="Compiler\DependencyAnalysis\Target_X64\TargetRegisterMap.cs" />
    <Compile Include="..\..\Common\Compiler\DependencyAnalysis\Target_X64\X64Emitter.cs" Link="Compiler\DependencyAnalysis\Target_X64\X64Emitter.cs" />
    <Compile Include="..\..\Common\Compiler\DependencyAnalysis\Target_X86\AddrMode.cs" Link="Compiler\DependencyAnalysis\Target_X86\AddrMode.cs" />
    <Compile Include="..\..\Common\Compiler\DependencyAnalysis\Target_X86\Register.cs" Link="Compiler\DependencyAnalysis\Target_X86\Register.cs" />
    <Compile Include="..\..\Common\Compiler\DependencyAnalysis\Target_X86\TargetRegisterMap.cs" Link="Compiler\DependencyAnalysis\Target_X86\TargetRegisterMap.cs" />
    <Compile Include="..\..\Common\Compiler\DependencyAnalysis\Target_X86\X86Emitter.cs" Link="Compiler\DependencyAnalysis\Target_X86\X86Emitter.cs" />
    <Compile Include="..\..\Common\Compiler\DependencyTrackingLevel.cs" Link="Compiler\DependencyTrackingLevel.cs" />
    <Compile Include="..\..\Common\Compiler\DevirtualizationManager.cs" Link="Compiler\DevirtualizationManager.cs" />
    <Compile Include="..\..\Common\Compiler\FeatureSettings.cs" Link="Compiler\FeatureSettings.cs" />
    <Compile Include="..\..\Common\Compiler\HardwareIntrinsicHelpers.cs" Link="Compiler\HardwareIntrinsicHelpers.cs" />
    <Compile Include="..\..\Common\Compiler\ICompilationRootProvider.cs" Link="Compiler\ICompilationRootProvider.cs" />
    <Compile Include="..\..\Common\Compiler\InstructionSetSupport.cs" Link="Compiler\InstructionSetSupport.cs" />
    <Compile Include="..\..\Common\Compiler\Int128FieldLayoutAlgorithm.cs" Link="Compiler\Int128FieldLayoutAlgorithm.cs" />
    <Compile Include="..\..\Common\Compiler\InternalCompilerErrorException.cs" Link="Compiler\InternalCompilerErrorException.cs" />
    <Compile Include="..\..\Common\Compiler\MethodExtensions.cs" Link="Compiler\MethodExtensions.cs" />
    <Compile Include="..\..\Common\Compiler\NameMangler.cs" Link="Compiler\NameMangler.cs" />
    <Compile Include="..\..\Common\Compiler\ProcessLinkerXmlBase.cs" Link="Compiler\ProcessLinkerXmlBase.cs" />
    <Compile Include="..\..\Common\Compiler\PropertyPseudoDesc.cs" Link="Compiler\PropertyPseudoDesc.cs" />
    <Compile Include="..\..\Common\Compiler\EventPseudoDesc.cs" Link="Compiler\EventPseudoDesc.cs" />
    <Compile Include="..\..\Common\Compiler\PseudoDescExtensions.cs" Link="Compiler\PseudoDescExtensions.cs" />
    <Compile Include="..\..\Common\Compiler\SingleMethodRootProvider.cs" Link="Compiler\SingleMethodRootProvider.cs" />
    <Compile Include="..\..\Common\Compiler\TypeExtensions.cs" Link="Compiler\TypeExtensions.cs" />
    <Compile Include="..\..\Common\Compiler\TypePreserve.cs" Link="Compiler\TypePreserve.cs" />
    <Compile Include="..\..\Common\Compiler\VectorFieldLayoutAlgorithm.cs" Link="Compiler\VectorFieldLayoutAlgorithm.cs" />

    <Compile Include="Compiler\AnalysisBasedInteropStubManager.cs" />
    <Compile Include="Compiler\AnalysisBasedMetadataManager.cs" />
    <Compile Include="Compiler\BodySubstitution.cs" />
    <Compile Include="Compiler\BodySubstitutionParser.cs" />
    <Compile Include="Compiler\DependencyAnalysis\ByRefTypeMapNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\DehydratableObjectNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\DehydratedDataNode.cs" />
    <Compile Include="Compiler\CompilationBuilder.Aot.cs" />
    <Compile Include="Compiler\CompilationModuleGroup.Aot.cs" />
    <Compile Include="Compiler\CompilerTypeSystemContext.Aot.cs" />
    <Compile Include="Compiler\CompilerTypeSystemContext.BoxedTypes.cs" />
    <Compile Include="Compiler\CompilerTypeSystemContext.InterfaceThunks.cs" />
    <Compile Include="Compiler\CompilerTypeSystemContext.Mangling.cs" />
    <Compile Include="Compiler\CompilerTypeSystemContext.Sorting.cs" />
    <Compile Include="Compiler\CompilerTypeSystemContext.DelegateInfo.cs" />
    <Compile Include="Compiler\CompilerTypeSystemContext.DynamicInvoke.cs" />
    <Compile Include="Compiler\CompilerTypeSystemContext.GeneratedAssembly.cs" />
    <Compile Include="Compiler\CompilerTypeSystemContext.GeneratedAssembly.Sorting.cs" />
    <Compile Include="Compiler\CompilerTypeSystemContext.EnumMethods.cs" />
    <Compile Include="Compiler\CompilerTypeSystemContext.ValueTypeMethods.cs" />
    <Compile Include="Compiler\CompilerGeneratedInteropStubManager.cs" />
    <Compile Include="Compiler\CustomAttributeExtensions.cs" />
    <Compile Include="Compiler\Dataflow\ArrayValue.cs" />
    <Compile Include="Compiler\Dataflow\AttributeDataFlow.cs" />
    <Compile Include="Compiler\Dataflow\CompilerGeneratedCallGraph.cs" />
    <Compile Include="Compiler\Dataflow\CompilerGeneratedNames.cs" />
    <Compile Include="Compiler\Dataflow\CompilerGeneratedState.cs" />
    <Compile Include="Compiler\Dataflow\DiagnosticContext.cs" />
    <Compile Include="Compiler\Dataflow\DiagnosticUtilities.cs" />
    <Compile Include="Compiler\Dataflow\FieldReferenceValue.cs" />
    <Compile Include="Compiler\Dataflow\FieldValue.cs" />
    <Compile Include="Compiler\Dataflow\FlowAnnotations.cs" />
    <Compile Include="Compiler\Dataflow\GenericArgumentDataFlow.cs" />
    <Compile Include="Compiler\Dataflow\GenericParameterValue.cs" />
    <Compile Include="Compiler\Dataflow\HandleCallAction.cs" />
    <Compile Include="Compiler\Dataflow\HoistedLocalKey.cs" />
    <Compile Include="Compiler\Dataflow\InterproceduralState.cs" />
    <Compile Include="Compiler\Dataflow\LocalVariableReferenceValue.cs" />
    <Compile Include="Compiler\Dataflow\MethodBodyScanner.cs" />
    <Compile Include="Compiler\Dataflow\MethodParameterValue.cs" />
    <Compile Include="Compiler\Dataflow\MethodReturnValue.cs" />
    <Compile Include="Compiler\Dataflow\ParameterReferenceValue.cs" />
    <Compile Include="Compiler\Dataflow\ReferenceValue.cs" />
    <Compile Include="Compiler\Dataflow\ReflectionMethodBodyScanner.cs" />
    <Compile Include="Compiler\Dataflow\ReflectionMarker.cs" />
    <Compile Include="Compiler\Dataflow\RequireDynamicallyAccessedMembersAction.cs" />
    <Compile Include="Compiler\Dataflow\ScannerExtensions.cs" />
    <Compile Include="Compiler\Dataflow\TrimAnalysisAssignmentPattern.cs" />
    <Compile Include="Compiler\Dataflow\TrimAnalysisFieldAccessPattern.cs" />
    <Compile Include="Compiler\Dataflow\TrimAnalysisGenericInstantiationAccessPattern.cs" />
    <Compile Include="Compiler\Dataflow\TrimAnalysisMethodCallPattern.cs" />
    <Compile Include="Compiler\Dataflow\TrimAnalysisPatternStore.cs" />
    <Compile Include="Compiler\Dataflow\TrimAnalysisTokenAccessPattern.cs" />
    <Compile Include="Compiler\Dataflow\TypeNameParser.Dataflow.cs" />
    <Compile Include="$(LibrariesProjectRoot)\Common\src\System\Reflection\TypeNameParser.cs">
      <Link>Compiler\Dataflow\TypeNameParser.cs</Link>
    </Compile>
    <Compile Include="$(LibrariesProjectRoot)\Common\src\System\Text\ValueStringBuilder.cs">
      <Link>Utilities\ValueStringBuilder.cs</Link>
    </Compile>
    <Compile Include="Compiler\Dataflow\ValueNode.cs" />
    <Compile Include="Compiler\DebugInformationProvider.cs" />
    <Compile Include="Compiler\DependencyAnalysis\CustomAttributeMetadataNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\DelegateTargetVirtualMethodNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\EmbeddedTrimmingDescriptorNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\DataflowAnalyzedMethodNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\DataflowAnalyzedTypeDefinitionNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\DelegateMarshallingDataNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\DynamicDependencyAttributesOnEntityNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\ExternSymbolsImportedNodeProvider.cs" />
    <Compile Include="Compiler\DependencyAnalysis\FieldRvaDataNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\FrozenObjectNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\FrozenRuntimeTypeNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\FunctionPointerMapNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\GenericMethodsHashtableEntryNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\GenericStaticBaseInfoNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\GenericVarianceNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\GenericVirtualMethodImplNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\InlineableStringsResourceNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\InterfaceDispatchCellSectionNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\InterfaceUseNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\MethodExceptionHandlingInfoNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\ModuleInitializerListNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\NotReadOnlyFieldNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\ObjectGetTypeFlowDependenciesNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\PointerTypeMapNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\ReflectedDelegateNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\ReflectedFieldNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\ReflectedTypeNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\ReflectionInvokeSupportDependencyAlgorithm.cs" />
    <Compile Include="Compiler\DependencyAnalysis\StructMarshallingDataNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\Target_ARM64\ARM64TentativeMethodNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\Target_ARM\ARMTentativeMethodNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\Target_LoongArch64\LoongArch64TentativeMethodNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\Target_RiscV64\RiscV64TentativeMethodNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\Target_X64\X64TentativeMethodNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\Target_X86\X86TentativeMethodNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\TentativeInstanceMethodNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\TentativeMethodNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\TrimmingDescriptorNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\VariantInterfaceMethodUseNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\CustomAttributeBasedDependencyAlgorithm.cs" />
    <Compile Include="Compiler\DependencyAnalysis\FieldMetadataNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\ILScanNodeFactory.cs" />
    <Compile Include="Compiler\DictionaryLayoutProvider.cs" />
    <Compile Include="Compiler\Disassembler.cs" />
    <Compile Include="Compiler\DynamicInvokeThunkGenerationPolicy.cs" />
    <Compile Include="Compiler\EmptyInteropStubManager.cs" />
    <Compile Include="Compiler\DependencyAnalysis\ImportedNodeProvider.cs" />
    <Compile Include="Compiler\ExpectedIsaFeaturesRootProvider.cs" />
    <Compile Include="Compiler\ExternSymbolMappedField.cs" />
    <Compile Include="Compiler\SubstitutedILProvider.cs" />
    <Compile Include="Compiler\SubstitutionProvider.cs" />
    <Compile Include="Compiler\GenericRootProvider.cs" />
    <Compile Include="Compiler\HardwareIntrinsicHelpers.Aot.cs" />
    <Compile Include="Compiler\HardwareIntrinsicILProvider.cs" />
    <Compile Include="Compiler\IInliningPolicy.cs" />
    <Compile Include="Compiler\Logging\NativeAotFatalErrorException.cs" />
    <Compile Include="Compiler\ManifestResourceBlockingPolicy.cs" />
    <Compile Include="Compiler\MethodImportationErrorProvider.cs" />
    <Compile Include="Compiler\InlinedThreadStatics.cs" />
    <Compile Include="Compiler\MstatObjectDumper.cs" />
    <Compile Include="Compiler\NoMetadataBlockingPolicy.cs" />
    <Compile Include="Compiler\DependencyAnalysis\SerializedFrozenObjectNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\GCStaticsPreInitDataNode.cs" />
    <Compile Include="Compiler\MetadataBlockingPolicy.cs" />
    <Compile Include="Compiler\DependencyAnalysis\MethodMetadataNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\ReflectedMethodNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\ModuleMetadataNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\TypeMetadataNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\ScannedMethodNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\ShadowConcreteUnboxingThunkNode.cs" />
    <Compile Include="Compiler\ILScanner.cs" />
    <Compile Include="Compiler\ILScannerBuilder.cs" />
    <Compile Include="Compiler\LibraryInitializers.cs" />
    <Compile Include="Compiler\Compilation.cs" />
    <Compile Include="Compiler\CompilerMetadataFieldLayoutAlgorithm.cs" />
    <Compile Include="Compiler\DelegateCreationInfo.cs" />
    <Compile Include="Compiler\DescriptorMarker.cs" />
    <Compile Include="Compiler\DependencyAnalysis\ArrayOfEmbeddedDataNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\ArrayMapNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\CallingConventionConverterKey.cs" />
    <Compile Include="Compiler\DependencyAnalysis\CodeBasedDependencyAlgorithm.cs" />
    <Compile Include="Compiler\DependencyAnalysis\DelegateMarshallingStubMapNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\StructMarshallingStubMapNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\GenericVirtualMethodTableNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\InterfaceGenericVirtualMethodTableNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\IObjectDumper.cs" />
    <Compile Include="Compiler\DependencyAnalysis\TypeGVMEntriesNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\GVMDependenciesNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\ReflectionFieldMapNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\NativeLayoutInfoNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\NativeLayoutVertexNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\NativeLayoutSignatureNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\GenericTypesHashtableNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\GenericTypesTemplateMap.cs" />
    <Compile Include="Compiler\DependencyAnalysis\GenericMethodsHashtableNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\ExactMethodInstantiationsNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\GenericMethodsTemplateMap.cs" />
    <Compile Include="Compiler\DependencyAnalysis\RuntimeFieldHandleNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\RuntimeMethodHandleNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\ReadyToRunGenericHelperNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\ArrayOfFrozenObjectsNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\ClassConstructorContextMap.cs" />
    <Compile Include="Compiler\DependencyAnalysis\ConstructedEETypeNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\DictionaryLayoutNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\ExternalReferencesTableNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\ExternEETypeSymbolNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\FatFunctionPointerNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\FrozenStringNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\GenericCompositionNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\GenericDefinitionEETypeNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\HelperEntrypoint.cs" />
    <Compile Include="Compiler\DependencyAnalysis\ReflectionInvokeMapNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\ReflectionVirtualInvokeMapNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\GenericDictionaryNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\GenericLookupResult.cs" />
    <Compile Include="Compiler\DependencyAnalysis\IEETypeNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\PInvokeMethodFixupNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\PInvokeModuleFixupNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\ResourceDataNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\ResourceIndexNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\RuntimeImportMethodNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\StringAllocatorMethodNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\Target_X64\X64ReadyToRunGenericHelperNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\Target_ARM\ARMInitialInterfaceDispatchStubNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\Target_ARM\ARMNodeFactory.cs" />
    <Compile Include="Compiler\DependencyAnalysis\VTableSliceNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\EETypeOptionalFieldsNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\EmbeddedObjectNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\EmbeddedPointerIndirectionNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\ExternMethodSymbolNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\ISpecialUnboxThunkNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\InterfaceDispatchCellNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\MetadataNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\MethodAssociatedDataNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\ArrayOfEmbeddedPointersNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\ReadyToRunHeaderNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\ModulesSectionNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\TypeManagerIndirectionNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\TlsRootNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\BlobNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\EETypeNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\CanonicalDefinitionEETypeNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\CanonicalEETypeNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\NecessaryCanonicalEETypeNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\ExternSymbolNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\GCStaticEETypeNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\GCStaticsNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\StaticsInfoHashtableNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\INodeWithCodeInfo.Aot.cs" />
    <Compile Include="Compiler\DependencyAnalysis\INodeWithDebugInfo.cs" />
    <Compile Include="Compiler\DependencyAnalysis\JumpStubNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\NodeFactory.cs" />
    <Compile Include="Compiler\DependencyAnalysis\NodeFactory.GenericLookups.cs" />
    <Compile Include="Compiler\DependencyAnalysis\NodeFactory.NativeLayout.cs" />
    <Compile Include="Compiler\DependencyAnalysis\NonGCStaticsNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\ModuleUseBasedDependencyAlgorithm.cs" />
    <Compile Include="Compiler\DependencyAnalysis\ReadyToRunHelperNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\Target_X64\X64UnboxingStubNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\ThreadStaticsNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\TypeThreadStaticIndexNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\TypeMetadataMapNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\UnboxingStubNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\VirtualMethodUseNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\SealedVTableNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\StackTraceMethodMappingNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\Target_X64\X64JumpStubNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\Target_X64\X64ReadyToRunHelperNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\InterfaceDispatchMapNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\Target_X86\X86UnboxingStubNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\Target_X86\X86JumpStubNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\Target_X86\X86ReadyToRunHelperNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\Target_X86\X86ReadyToRunGenericHelperNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\Target_ARM64\ARM64JumpStubNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\Target_ARM64\ARM64ReadyToRunHelperNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\Target_ARM64\ARM64ReadyToRunGenericHelperNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\Target_ARM64\ARM64UnboxingStubNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\Target_ARM\ARMUnboxingStubNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\Target_ARM\ARMJumpStubNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\Target_ARM\ARMReadyToRunHelperNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\Target_ARM\ARMReadyToRunGenericHelperNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\Target_LoongArch64\LoongArch64JumpStubNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\Target_LoongArch64\LoongArch64ReadyToRunHelperNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\Target_LoongArch64\LoongArch64ReadyToRunGenericHelperNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\Target_LoongArch64\LoongArch64UnboxingStubNode.cs" />
    <Compile Include="Compiler\ObjectWriter\Dwarf\DwarfAbbrev.cs" />
    <Compile Include="Compiler\ObjectWriter\Dwarf\DwarfBuilder.cs" />
    <Compile Include="Compiler\ObjectWriter\Dwarf\DwarfCfiOpcode.cs" />
    <Compile Include="Compiler\ObjectWriter\Dwarf\DwarfCie.cs" />
    <Compile Include="Compiler\ObjectWriter\Dwarf\DwarfEhFrame.cs" />
    <Compile Include="Compiler\ObjectWriter\Dwarf\DwarfExpressionBuilder.cs" />
    <Compile Include="Compiler\ObjectWriter\Dwarf\DwarfFde.cs" />
    <Compile Include="Compiler\ObjectWriter\Dwarf\DwarfFileName.cs" />
    <Compile Include="Compiler\ObjectWriter\Dwarf\DwarfHelper.cs" />
    <Compile Include="Compiler\ObjectWriter\Dwarf\DwarfInfo.cs" />
    <Compile Include="Compiler\ObjectWriter\Dwarf\DwarfInfoWriter.cs" />
    <Compile Include="Compiler\ObjectWriter\Dwarf\DwarfLineProgramTableWriter.cs" />
    <Compile Include="Compiler\ObjectWriter\Dwarf\DwarfLineSequenceWriter.cs" />
    <Compile Include="Compiler\ObjectWriter\Dwarf\DwarfNative.cs" />
    <Compile Include="Compiler\ObjectWriter\CodeView\CodeViewFileTableBuilder.cs" />
    <Compile Include="Compiler\ObjectWriter\CodeView\CodeViewNative.cs" />
    <Compile Include="Compiler\ObjectWriter\CodeView\CodeViewSymbolsBuilder.cs" />
    <Compile Include="Compiler\ObjectWriter\CodeView\CodeViewTypesBuilder.cs" />
    <Compile Include="Compiler\ObjectWriter\Eabi\EabiAttributesBuilder.cs" />
    <Compile Include="Compiler\ObjectWriter\Eabi\EabiNative.cs" />
    <Compile Include="Compiler\ObjectWriter\Eabi\EabiUnwindConverter.cs" />
    <Compile Include="Compiler\ObjectWriter\ObjectWriter.cs" />
    <Compile Include="Compiler\ObjectWriter\ObjectWritingOptions.cs" />
    <Compile Include="Compiler\ObjectWriter\MachNative.cs" />
    <Compile Include="Compiler\ObjectWriter\MachObjectWriter.cs" />
    <Compile Include="Compiler\ObjectWriter\ElfNative.cs" />
    <Compile Include="Compiler\ObjectWriter\ElfObjectWriter.cs" />
    <Compile Include="Compiler\ObjectWriter\UnixObjectWriter.cs" />
    <Compile Include="Compiler\ObjectWriter\CoffObjectWriter.cs" />
    <Compile Include="Compiler\ObjectWriter\SectionData.cs" />
    <Compile Include="Compiler\ObjectWriter\SectionWriter.cs" />
    <Compile Include="Compiler\ObjectWriter\StringTableBuilder.cs" />
    <Compile Include="Compiler\ReadOnlyFieldPolicy.cs" />
    <Compile Include="Compiler\DependencyAnalysis\Target_RiscV64\RiscV64JumpStubNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\Target_RiscV64\RiscV64ReadyToRunHelperNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\Target_RiscV64\RiscV64ReadyToRunGenericHelperNode.cs" />
    <Compile Include="Compiler\DependencyAnalysis\Target_RiscV64\RiscV64UnboxingStubNode.cs" />
    <Compile Include="Compiler\UnmanagedEntryPointsRootProvider.cs" />
    <Compile Include="Compiler\GenericDictionaryLookup.cs" />
    <Compile Include="Compiler\IRootingServiceProvider.cs" />
    <Compile Include="Compiler\JitHelper.cs" />
    <Compile Include="Compiler\LazyGenericsPolicy.cs" />
    <Compile Include="Compiler\LibraryRootProvider.cs" />
    <Compile Include="Compiler\MainMethodRootProvider.cs" />
    <Compile Include="Compiler\MetadataManager.cs" />
    <Compile Include="Compiler\InteropStubManager.cs" />
    <Compile Include="Compiler\MultiFileCompilationModuleGroup.cs" />
    <Compile Include="Compiler\NativeLibraryInitializerRootProvider.cs" />
    <Compile Include="Compiler\NodeMangler.cs" />
    <Compile Include="Compiler\ObjectDumper.cs" />
    <Compile Include="Compiler\ExportsFileWriter.cs" />
    <Compile Include="Compiler\RootingHelpers.cs" />
    <Compile Include="Compiler\RootingServiceProvider.cs" />
    <Compile Include="Compiler\RuntimeConfigurationRootProvider.cs" />
    <Compile Include="Compiler\SingleFileCompilationModuleGroup.cs" />
    <Compile Include="Compiler\SingleMethodCompilationModuleGroup.cs" />
    <Compile Include="Compiler\ILAssemblyGeneratingMethodDebugInfoProvider.cs" />
    <Compile Include="Compiler\StackTraceEmissionPolicy.cs" />
    <Compile Include="Compiler\PreinitializationManager.cs" />
    <Compile Include="Compiler\TypePreinit.cs" />
    <Compile Include="Compiler\UsageBasedInteropStubManager.cs" />
    <Compile Include="Compiler\UsageBasedMetadataManager.cs" />
    <Compile Include="Compiler\UserDefinedTypeDescriptor.cs" />
    <Compile Include="Compiler\UniversalGenericsRootProvider.cs" />
    <Compile Include="Compiler\UnixNodeMangler.cs" />
    <Compile Include="Compiler\VectorOfTFieldLayoutAlgorithm.cs" />
    <Compile Include="Compiler\VirtualMethodCallHelper.cs" />
    <Compile Include="Compiler\VTableSliceProvider.cs" />
    <Compile Include="Compiler\Win32ResourcesRootProvider.cs" />
    <Compile Include="Compiler\WindowsNodeMangler.cs" />
    <Compile Include="Compiler\Logger.cs" />
    <Compile Include="Compiler\ILogWriter.cs" />
    <Compile Include="Compiler\TextLogWriter.cs" />
    <Compile Include="Compiler\Logging\DocumentationSignatureGenerator.PartVisitor.cs" />
    <Compile Include="Compiler\Logging\DocumentationSignatureParser.cs" />
    <Compile Include="Compiler\Logging\MessageContainer.cs" />
    <Compile Include="Compiler\Logging\MessageOrigin.cs" />
    <Compile Include="Compiler\Logging\SuppressMessageInfo.cs" />
    <Compile Include="Compiler\Logging\UnconditionalSuppressMessageAttributeState.cs" />
    <Compile Include="Compiler\XmlObjectDumper.cs" />
    <Compile Include="IL\ILImporter.Scanner.cs" />
    <Compile Include="IL\Stubs\PInvokeILProvider.cs" />
    <Compile Include="IL\Stubs\StartupCode\StartupCodeMainMethod.cs" />
    <Compile Include="IL\Stubs\StartupCode\StartupCodeMainMethod.Sorting.cs" />
    <Compile Include="IL\Stubs\StartupCode\NativeLibraryStartupMethod.cs" />
    <Compile Include="IL\Stubs\StartupCode\NativeLibraryStartupMethod.Sorting.cs" />
  </ItemGroup>
  <ItemGroup>
    <Compile Include="..\..\Common\System\FormattingHelpers.cs">
      <Link>Common\FormattingHelpers.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\System\Collections\Generic\ArrayBuilder.cs">
      <Link>Common\ArrayBuilder.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\Internal\Runtime\CanonTypeKind.cs">
      <Link>Common\CanonTypeKind.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\Internal\Runtime\MethodTable.Constants.cs">
      <Link>Common\MethodTable.Constants.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\Internal\Runtime\EETypeOptionalFieldsBuilder.cs">
      <Link>Common\EETypeOptionalFieldsBuilder.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\Internal\Runtime\EETypeBuilderHelpers.cs">
      <Link>Common\EETypeBuilderHelpers.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\Internal\Runtime\InterfaceDispatchCellCachePointerFlags.cs">
      <Link>Common\InterfaceDispatchCellCachePointerFlags.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\Internal\Runtime\ModuleHeaders.cs">
      <Link>Common\ModuleHeaders.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\Internal\NativeFormat\NativeFormatWriter.Primitives.cs">
      <Link>Common\NativeFormat\NativeFormatWriter.Primitives.cs</Link>
    </Compile>
  </ItemGroup>
  <ItemGroup>
    <Compile Include="..\..\Common\TypeSystem\IL\HelperExtensions.cs">
      <Link>IL\HelperExtensions.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\TypeSystem\IL\ILProvider.cs">
      <Link>IL\ILProvider.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\TypeSystem\IL\Stubs\ArrayMethodILEmitter.cs">
      <Link>IL\Stubs\ArrayMethodILEmitter.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\TypeSystem\IL\Stubs\UnsafeIntrinsics.cs">
      <Link>IL\Stubs\UnsafeIntrinsics.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\JitInterface\CorInfoInstructionSet.cs">
      <Link>JitInterface\CorInfoInstructionSet.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\JitInterface\CorInfoHelpFunc.cs">
      <Link>JitInterface\CorInfoHelpFunc.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\JitInterface\CorInfoTypes.cs">
      <Link>JitInterface\CorInfoTypes.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\JitInterface\CorInfoTypes.VarInfo.cs">
      <Link>JitInterface\CorInfoTypes.VarInfo.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\JitInterface\MemoryHelper.cs">
      <Link>JitInterface\MemoryHelper.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\TypeSystem\TypesDebugInfoWriter\TypesDebugInfoWriter.cs">
      <Link>TypeSystem\TypesDebugInfoWriter\TypesDebugInfoWriter.cs</Link>
    </Compile>
    <Compile Include="..\..\Common\Pgo\PgoFormat.cs">
      <Link>Pgo\PgoFormat.cs</Link>
    </Compile>
  </ItemGroup>

  <ItemGroup>
    <Compile Update="Resources\Strings.Designer.cs">
      <DesignTime>True</DesignTime>
      <AutoGen>True</AutoGen>
      <DependentUpon>Strings.resx</DependentUpon>
    </Compile>
  </ItemGroup>

  <ItemGroup>
    <EmbeddedResource Update="Resources\Strings.resx">
      <Generator>ResXFileCodeGenerator</Generator>
      <LastGenOutput>Strings.Designer.cs</LastGenOutput>
    </EmbeddedResource>
  </ItemGroup>

  <Import Project="..\..\..\..\tools\illink\src\ILLink.Shared\ILLink.Shared.projitems" Label="Shared" />
  <Import Project="..\..\Common\Compiler\GenericCycleDetection\GenericCycleDetection.projitems" />

</Project>
